﻿using System;

namespace CS
{
    class Program
    {
        static void Main(string[] args)
        {
            new T01_属性变更通知().Test();
            T02_静态属性变更通知.Test();
            Console.WriteLine();

            new T03_属性代理().Test();
            new T03_属性代理_等效写法().Test();
            Console.WriteLine();

            new T04_属性外部代理().Test();
            Console.WriteLine();

            new T05_实例方法代理().Test();
            Console.WriteLine();

            T05_静态方法.Test();
            Console.WriteLine();

            new T06_方法代理_指定处理函数名称().SetValue1(123);
            T06_方法代理_指定处理函数名称.SetValue2(456);
            Console.WriteLine();

            (new T07_接口代理() as IMyInterface1).ShowMsg1();
            (new T07_接口代理() as IMyInterface2).ShowMsg2();
            Console.WriteLine();

            (new T08_手动初始化代理字段() as IMyInterface1).ShowMsg1();
            (new T08_手动初始化代理字段() as IMyInterface2).ShowMsg2();


            Console.WriteLine("测试完成");
            Console.ReadLine();
        }
    }
}
